1. Field of the Invention
The invention relates to telecommunications. More particularly, the present invention relates to a method and a system for reserving bandwidth for connection in a link in a communications network so that the reserved bandwidth is available for restoration.
2. Background of the Related Art
In Private Line (PL) networks, a customer can buy a point-to-point connection, such as an OC12c connection. The point-to-point connection could be formed from several sub-connections that have been co-routed and provisioned by the network over, for example, a number of switches that are connected by OC48 links. Such a connection is often referred to as a compound or bundled connection. In time, as the point-to-point connection traffic increases and/or when the customer adds more sub-connections to the compound connection, the point-to-point connection is required to grow in size. The increase can be hitless when all of the OC48s links over which the point-to-point connection is routed have sufficient spare bandwidth to accommodate the growth. If not, the point-to-point connection may be required to be re-provisioned and another route is needed that has the necessary bandwidth on each link in the route. As the connection size increases, the likelihood that the increase will be hitless becomes less, and the task of re-provisioning and rerouting the connection becomes more difficult.
When switch and link failures occur in a network, connections on a failed switch or link break and must be restored. Conventional network links maintain spare capacity in a common pool, or group, that is used for both service provisioning and for restoration of broken connections. Restoration is generally a temporary condition because when the failure is repaired, each restored connection is “reverted” from the restoration path back to the original (service) path. The spare capacity, though, does not necessarily allow a connection to grow when needed because connections are assigned to OC48s links in a way that maximizes the likelihood of accommodating large new or restored connections, but can quickly leave little or no spare capacity for growth for a provisioned connection.
FIG. 1 shows a functional block diagram of an exemplary communication network 100 having multiple links between switches. Communications network 100 includes switches (SW) 101–104, links 111–118 and drop ports 121–125. As shown in FIG. 1, SW 101 is connected to SW102 through links 111–113. SW 102 is connected to SW 103 through links 114 and 115. SW 103 is connected to SW 104 through links 116–118. SW 101 has drop ports 121 and 122, SW 103 has drop port 124, and SW 104 has drop ports 123 and 125. Switches 101–104 exchange a conventional link state advertisement (LSA) message to provide information about the topology (switches, links and link metrics) in the network, as well as the total capacity and the spare capacity on each link. Links 111–118 are typically OC48 links, but could also be either higher or lower speed links.
An exemplary connection 131 is shown in FIG. 1 connected between drop port 121 on SW 101 and drop port 123 on SW 104 through communications network 100. The path of connection 131 through communications network 100 includes link 112 between SW 101 and SW 102, link 114 between SW 102 and SW 103, and link 118 between SW 103 and SW 104. Links 112, 114 and 118 are, for example, OC-48 links, and connection 131 is, for example, an STS-12 connection that uses 12 STS-1 slots out of the 48 slots that are available in each of links 112, 114 and 118. The remaining slots in links 112, 114 and 118 are used by other connections that are not shown or are spare (available). Another exemplary connection 132 is shown in FIG. 1 connected between drop port 124 on SW 103 and drop port 125 on SW 104. The path of connection 132 through communications network 101 includes link 118 between SW 103 and SW 104. Connection 132, for example, could be an STS-3 connection that uses 3 STS-1 slots out of the 48 total slots on link 118.
Suppose that, for example, the capacity pool for link 114 has a total of 48 slots, and suppose that out of the 48 slots, only connection 131 is using 12 slots of the 48 slots. FIG. 2 is a diagram representing the conventional capacity pools of link 114. Of the 48 slots of total capacity, 12 slots are in a service capacity pool 201 and 36 slots are in a spare capacity pool 202. The 36 slots of spare capacity in pool 202 would be available for new service connections and/or for restoring connections that fail elsewhere. For this example, SW 102 and SW 103 would each send a LSA message to neighboring switches advertising that link 114 has 36 spare slots that are available. The LSA messages are propagated to all other switches in the network using the conventional method of LSA flooding.
Suppose that the total capacity pool for link 118 is also 48 slots. Connection 131 would use 12 slots of the total capacity and connection 132 would use 3 slots of the total capacity for a total of 15 slots in a service capacity pool. Thus, 33 slots in a spare capacity pool would be available on link 118 for new service connections and/or for restoring connections that fail elsewhere. Switch 103 and SW 104 would each send a conventional LSA to the other switches advertising that link 118 has 33 spare slots that are available.
FIG. 3 shows a flow diagram 300 of an exemplary conventional general procedure that is used for setting up a connection, whether for new service or for restoration. At step 301, a request for a connection is received. At step 302, a network graph is constructed using information contained in the LSA messages. At step 303, links having insufficient spare capacity for the requested connection are pruned from the network graph. At step 304, the shortest path for the connection in the remaining network graph is determined using, for example, a well-known algorithm such as the Dijkstra algorithm. At step 305, the connection is set up along the shortest path determined in step 304. It should be understood that flow diagram 300 has been simplified to not include steps that are performed when any of steps 301–305 cannot be performed.
In order to perform step 305 in FIG. 3, the switch originating the connection sends out a setup message along the selected path. The setup message contains the selected path, as well as the bandwidth that is needed by the connection and, possibly, other metric information. FIG. 4 is a diagram representing a format arrangement 400 of a conventional Connection Setup Message. Conventional Connection Setup Message format arrangement 400 includes a field 401 containing information relating to the path of a connection, a field 402 containing information relating to bandwidth required for the connection and other fields that are not shown in FIG. 4. The Connection Setup Message is processed by each switch in the selected path. When the connection can be established at a switch—that is, the requested bandwidth is available—the switch forwards the setup message to the next switch in the selected path. Otherwise, the switch sends a (“crankback”) message to the originating switch indicating that the connection could not be established.
Returning to FIG. 1, suppose that it is desirable to increase the size of connection 131 from an OC12c to an OC24c. Growth can only occur on the existing path when an additional 12 slots are free (i.e., in the spare capacity pool) on each of links 112, 114 and 118. Otherwise, the growth cannot be accommodated on the existing path and the connection must be re-routed on a different set of links, each of which must have 24 spare slots available. Accordingly, there is a possibility that connection 131 might be required to be rerouted via a different set of switches that are not shown in FIG. 1. The reroute will cause a transmission hit while the connection is torn down over the original path and then set up on the new path.
Conventional connection routing attempts to maximize the fill of partially filled links and is based on the concept of leaving as large a pool of spare capacity as possible on other links, thereby being able to accommodate large connections. Consequently, connections established after connection 131 has been established are likely to be routed on links used by 131 if those connections share part or the same entire path with connection 131. Over time, the conventional approach uses up spare capacity on links used by connection 131 and reduces the probability that there will be sufficient spare capacity for connection 131 to grow. Thus, there may be sufficient capacity on other links, but growth of connection 131 causes a transmission hit.
One possible approach to overcome this disadvantage is to reserve, or pre-allocate, capacity for future growth of connection 131 when connection 131 is initially provisioned. Spare bandwidth could be reserved when connection 131 is originally set up by setting connection 131 to be a larger connection than is initially needed. For example, suppose that when connection 131 is initially set up, an additional 12 slots are reserved. The 48 total slots of capacity on link 114 are now configured as 24 slots in the service capacity pool and 24 slots in the spare capacity pool. Only 24 slots of spare capacity are available for new service connections and/or for restoring connections that fail elsewhere. No other connection, including a restoration connection, can use the capacity reserved by connection 131 because the reserved bandwidth is not currently available for any other purpose except for future growth of the connection. Thus, the reserved capacity that is within the service capacity pool is unused until the provisioned connection requires the reserved bandwidth. Accordingly, a conventional LSA message will advertise link 114 has 24 spare slots that are available.
What is needed is a way of reserving bandwidth for a single or a compound connection in a link in a communications network to allow for future growth of the connection, while making the reserved bandwidth available for restoration so that the reserved bandwidth is not wasted.